Skip to content

[RUN-4639] Publish CLI Maven artifacts to PackageCloud instead of Maven Central - #637

Merged
Jesus-Osuna-M merged 2 commits into
mainfrom
RUN-4639-publish-cli-to-packagecloud
Jul 22, 2026
Merged

[RUN-4639] Publish CLI Maven artifacts to PackageCloud instead of Maven Central#637
Jesus-Osuna-M merged 2 commits into
mainfrom
RUN-4639-publish-cli-to-packagecloud

Conversation

@Jesus-Osuna-M

@Jesus-Osuna-M Jesus-Osuna-M commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Jira ticket

RUN-4639

Description

org.rundeck is over Maven Central's free publishing limits (RUN-4570); Sonatype begins rate-limiting publishing on 2026-08-11. This applies the same PackageCloud migration already validated end-to-end on the rundeck-plugins org repos (RUN-4638) to this repo's 3 Maven modules: rd-api-client, rd-cli-lib, and rd-cli-tool.

  • Removes the nexus-publish plugin and nexusPublishing {} block.
  • Registers PackageCloud (https://packagecloud.io/pagerduty/rundeck/maven2) as the publishing repository in gradle/publishing.gradle, reusing the same PackageCloud repo the CLI's .deb/.rpm already publish to — no new PackageCloud repo needed.
  • Signs artifacts with the gpg CLI and uploads signatures via curl in release.yml, instead of Gradle's signing plugin: Gradle auto-generates a checksum for every publication artifact including .asc files, and PackageCloud's Maven endpoint 422s on the checksum-of-a-signature-file, aborting the publish task partway through.
  • rd-cli-tool sets archivesBaseName='rundeck-cli', so its local build output filenames (rundeck-cli-<version>*.jar) differ from its published Maven artifactId (rd-cli-tool) — the signing step signs the local files but uploads the .asc under the published coordinate name.

Existing versions already published on Maven Central are unaffected — only future releases move to PackageCloud only. The GitHub Release step and the existing .deb/.rpm PackageCloud push are untouched.

Testing instructions

  • ./gradlew clean build passes locally with all tests (verified: BUILD SUCCESSFUL, 75 tasks, all 3 modules + integration-tests).
  • ./gradlew tasks --all confirms publishAllPublicationsToPackageCloudRepository exists for rd-api-client, rd-cli-lib, and rd-cli-tool.
  • ./gradlew build still succeeds with no PKGCLD_REPO_URL/PKGCLD_WRITE_TOKEN set (the gradle.yml CI workflow is unaffected — the fallback default in publishing.gradle avoids a null-URL crash).
  • To fully verify: push a test tag to trigger release.yml, confirm the 3 artifacts (plus -sources/-javadoc, and rd-cli-tool's -all jar) and their .asc signatures land under https://packagecloud.io/pagerduty/rundeck/maven2/org/rundeck/..., and confirm PKGCLD_WRITE_TOKEN/SIGNING_KEY_B64/SIGNING_PASSWORD secrets are available to this workflow.

…ntral

org.rundeck is over Maven Central's free publishing limits (RUN-4570), and
Sonatype begins rate-limiting publishing on 2026-08-11. Applies the same
PackageCloud migration already validated end-to-end on the rundeck-plugins
org repos (RUN-4638) to rd-api-client, rd-cli-lib, and rd-cli-tool.

- Remove the nexus-publish plugin and nexusPublishing block.
- Register PackageCloud (https://packagecloud.io/pagerduty/rundeck/maven2)
  as the publishing repository for all 3 Maven modules, reusing the same
  PackageCloud repo the CLI's .deb/.rpm already publish to.
- Sign artifacts with the gpg CLI and upload signatures via curl instead of
  Gradle's signing plugin: Gradle auto-generates a checksum for every
  publication artifact including .asc files, and PackageCloud's Maven
  endpoint 422s on the checksum-of-a-signature-file, aborting the publish
  task partway through.
- rd-cli-tool sets archivesBaseName='rundeck-cli', so its local build
  output filenames differ from its published artifactId (rd-cli-tool) -
  the signing step signs the local files but uploads under the published
  coordinate name.

Existing versions already on Maven Central are unaffected; only future
releases move to PackageCloud.
@Jesus-Osuna-M
Jesus-Osuna-M merged commit 5ac3e25 into main Jul 22, 2026
10 checks passed
@Jesus-Osuna-M
Jesus-Osuna-M deleted the RUN-4639-publish-cli-to-packagecloud branch July 22, 2026 23:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants